package br.com.logistica.persistence.entidades;

import java.io.Serializable;
import java.util.List;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;

@Entity
public class Produto implements Serializable {

	// -------------------------------------------[Construtores]--------------------------------------------------

	// -------------------------------------------[Atributos]--------------------------------------------------

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	@OneToMany(mappedBy = "produto")
	private List<ItensNota> itensNotas;

	/*
	 * @ManyToMany
	 * 
	 * @JoinTable(name = "Produto_Nota", joinColumns = { @JoinColumn(name =
	 * "idProduto") }, inverseJoinColumns = { @JoinColumn(name = "idNotaFiscal")
	 * }) private List<NotaFiscal> notasFiscais;
	 */

	public List<ItensNota> getItensNotas() {
		return itensNotas;
	}

	public void setItensNotas(List<ItensNota> itensNotas) {
		this.itensNotas = itensNotas;
	}

	public static long getSerialversionuid() {
		return serialVersionUID;
	}

	// Atributo que representa o id do Produto
	@Id
	@GeneratedValue(strategy = GenerationType.AUTO)
	private int idProduto;

	// Atributo que representa o cordigo do produto
	private String codProdutos;

	// atributo que reprresenta a descric�o do produto
	private String descricao;

	// atribuot que representa o ncm do produto
	private String ncm;

	// atributo que representa o ucon do produto
	private String uncom;

	// atributo que representa o cfop do produto
	private int cfop;

	// atributo que representa o valor unitario do produto
	private double valorUnitario;

	// -------------------------------------------[M�todos]--------------------------------------------------

	// -------------------------------------------[Getters and
	// Setters]-------------------------------------

	public int getIdProduto() {
		return idProduto;
	}

	public String getDescricao() {
		return descricao;
	}

	public String getNcm() {
		return ncm;
	}

	public double getValorUnitario() {
		return valorUnitario;
	}

	public void setIdProduto(int idProduto) {
		this.idProduto = idProduto;
	}

	public String getCodProdutos() {
		return codProdutos;
	}

	public void setCodProdutos(String codProdutos) {
		this.codProdutos = codProdutos;
	}

	public void setDescricao(String descricao) {
		this.descricao = descricao;
	}

	public void setNcm(String ncm) {
		this.ncm = ncm;
	}

	public void setValorUnitario(double valorUnitario) {
		this.valorUnitario = valorUnitario;
	}
	/*
	 * public void setNotasFiscais(ArrayList<NotaFiscal> notasFiscais) {
	 * this.notasFiscais = notasFiscais; }
	 * 
	 * public void setNotasFiscais(List<NotaFiscal> notasFiscais) {
	 * this.notasFiscais = notasFiscais; }
	 * 
	 * public List<NotaFiscal> getNotasFiscais() { return notasFiscais; }
	 */

	public int getCfop() {
		return cfop;
	}

	public void setCfop(int cfop) {
		this.cfop = cfop;
	}

	public String getUncom() {
		return uncom;
	}

	public void setUncom(String uncom) {
		this.uncom = uncom;
	}

}
